<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>process_routines: common_schema documentation</title>
	<meta name="description" content="process_routines: common_schema" />
	<meta name="keywords" content="process_routines: common_schema" />
	<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>

<body>
	<div id="main">
		<div id="header">
			<h1>common_schema</h1> <strong>2.2</strong> documentation
			<div class="subtitle">DBA's framework for MySQL</div>
		</div>
		<div id="contentwrapper">
			<div id="content">
				<h2><a href="process_routines.html">process_routines</a></h2>	
<h3>SYNOPSIS</h3>

<p>
Process routines: stored routines managing query, session and process information & workflow.
<ul>
	<li><a href="query_laptime.html">query_laptime()</a>: Number of seconds this query has been running for since last invocation of this function.</li>
	<li><a href="query_runtime.html">query_runtime()</a>: Number of seconds this query has been running for so far.</li>
	<li><a href="session_unique_id.html">session_unique_id()</a>: Returns an integer unique to this session.</li>
	<li><a href="this_query.html">this_query()</a>: Returns the current query executed by this thread.</li>
	<li><a href="throttle.html">throttle()</a>: Throttle current query by periodically sleeping throughout its execution.</li>
</ul>
</p>

<h3>DESCRIPTION</h3>
<p>
Process routines act on, or provide information on the current session. A MySQL connection is assigned with a unique session,
which is isolated from other sessions in terms of temporary tables, user defined variables, process ID, credentials and some memory
buffers. The process routines utilize some of these properties.
</p>

<h3>EXAMPLES</h3>
	<p>
		Throttle a heavy weight query, doubling its total runtime by injecting
		sleep periods:
	</p>
	<blockquote><pre>mysql&gt; SELECT Id, Name, throttle(1) from my_schema.huge_table ORDER BY Population DESC;
	</pre></blockquote>
	
	<p>
		Show query runtime and query laptime for a long running query:
	</p>
	<blockquote><pre>mysql&gt; SELECT Id, Name, sleep(0.3) AS s, SYSDATE(), query_runtime(), query_laptime() from world.City limit 30;
+----+-------------------+---+---------------------+-----------------+-----------------+
| Id | Name              | s | SYSDATE()           | query_runtime() | query_laptime() |
+----+-------------------+---+---------------------+-----------------+-----------------+
|  1 | Kabul             | 0 | 2012-01-22 12:25:41 |               1 |               1 |
|  2 | Qandahar          | 0 | 2012-01-22 12:25:41 |               1 |               0 |
|  3 | Herat             | 0 | 2012-01-22 12:25:41 |               1 |               0 |
|  4 | Mazar-e-Sharif    | 0 | 2012-01-22 12:25:41 |               1 |               0 |
|  5 | Amsterdam         | 0 | 2012-01-22 12:25:42 |               2 |               1 |
|  6 | Rotterdam         | 0 | 2012-01-22 12:25:42 |               2 |               0 |
|  7 | Haag              | 0 | 2012-01-22 12:25:42 |               2 |               0 |
|  8 | Utrecht           | 0 | 2012-01-22 12:25:43 |               3 |               1 |
|  9 | Eindhoven         | 0 | 2012-01-22 12:25:43 |               3 |               0 |
| 10 | Tilburg           | 0 | 2012-01-22 12:25:43 |               3 |               0 |
| 11 | Groningen         | 0 | 2012-01-22 12:25:44 |               4 |               1 |
| 12 | Breda             | 0 | 2012-01-22 12:25:44 |               4 |               0 |
| 13 | Apeldoorn         | 0 | 2012-01-22 12:25:44 |               4 |               0 |
| 14 | Nijmegen          | 0 | 2012-01-22 12:25:44 |               4 |               0 |
| 15 | Enschede          | 0 | 2012-01-22 12:25:45 |               5 |               1 |
| 16 | Haarlem           | 0 | 2012-01-22 12:25:45 |               5 |               0 |
| 17 | Almere            | 0 | 2012-01-22 12:25:45 |               5 |               0 |
| 18 | Arnhem            | 0 | 2012-01-22 12:25:46 |               6 |               1 |
| 19 | Zaanstad          | 0 | 2012-01-22 12:25:46 |               6 |               0 |
| 20 | ´s-Hertogenbosch  | 0 | 2012-01-22 12:25:46 |               6 |               0 |
| 21 | Amersfoort        | 0 | 2012-01-22 12:25:47 |               7 |               1 |
| 22 | Maastricht        | 0 | 2012-01-22 12:25:47 |               7 |               0 |
| 23 | Dordrecht         | 0 | 2012-01-22 12:25:47 |               7 |               0 |
| 24 | Leiden            | 0 | 2012-01-22 12:25:47 |               7 |               0 |
| 25 | Haarlemmermeer    | 0 | 2012-01-22 12:25:48 |               8 |               1 |
| 26 | Zoetermeer        | 0 | 2012-01-22 12:25:48 |               8 |               0 |
| 27 | Emmen             | 0 | 2012-01-22 12:25:48 |               8 |               0 |
| 28 | Zwolle            | 0 | 2012-01-22 12:25:49 |               9 |               1 |
| 29 | Ede               | 0 | 2012-01-22 12:25:49 |               9 |               0 |
| 30 | Delft             | 0 | 2012-01-22 12:25:49 |               9 |               0 |
+----+-------------------+---+---------------------+-----------------+-----------------+
</pre></blockquote>
				<br/>
			</div>
			<div id="sidebarwrapper">
				<div id="search">
					Search online documentation
					<form id="search_form" name="search_form" method="GET" 
						action="http://www.google.com/search" 
						onsubmit="document.forms['search_form']['q'].value = 'site:http://common-schema.googlecode.com/svn/trunk/common_schema/doc/html/ '+document.forms['search_form']['search_term'].value;">
						<input type="text" name="search_term" value=""/>
						<input type="hidden" name="q" value=""/>
						<input type="submit" value="go"/>						
					</form>
				</div>
				<div id="menu">
					<ul>
						<li><a title="Introduction" href="introduction.html">Introduction</a></li>
						<li><a title="Documentation" href="documentation.html">Documentation</a></li>
						<li><a title="Download" href="download.html">Download</a></li>
						<li><a title="Install" href="install.html">Install</a></li>
						<li><a title="Risks" href="risks.html">Risks</a></li>
					</ul>						
					<h3>QUERY SCRIPT</h3>
					<ul>
						<li><a title="QueryScript" href="query_script.html">QueryScript</a></li>
						<li><a title="Execution" href="query_script_execution.html">Execution</a></li>
						<li><a title="Flow control" href="query_script_flow_control.html">Flow control</a></li>
						<li><a title="Statements" href="query_script_statements.html">Statements</a></li>
						<li><a title="Expressions" href="query_script_expressions.html">Expressions</a></li>
						<li><a title="Variables" href="query_script_variables.html">Variables</a></li>
					</ul>						
					<h3>DEBUG</h3>
					<ul>
						<li><a title="rdebug" href="rdebug.html">rdebug</a></li>
						<li><a title="rdebug API" href="rdebug_api.html">rdebug API</a></li>
						<li><a title="rdebug workflow" href="rdebug_workflow.html">Workflow</a></li>
					</ul>						
					<h3>ROUTINES</h3>
					<ul>
						<li><a title="Execution &amp; flow control" href="execution_routines.html">Execution & flow control</a></li>
						<li><a title="General" href="general_routines.html">General</a></li>
						<li><a title="Process" href="process_routines.html">Process</a></li>
						<li><a title="Query analysis" href="query_analysis_routines.html">Query analysis</a></li>
						<li><a title="Schema analysis" href="schema_analysis_routines.html">Schema analysis</a></li>
						<li><a title="Security" href="security_routines.html">Security</a></li>
						<li><a title="Text" href="text_routines.html">Text</a></li>
						<li><a title="Time &amp; date" href="temporal_routines.html">Time & date</a></li>
						<li><a title="Charting" href="charting_routines.html">Charting</a></li>
					</ul>
					<h3>VIEWS</h3>
					<ul>
						<li><a title="Schema analysis" href="schema_analysis_views.html">Schema analysis</a></li>
						<li><a title="Data dimension" href="data_dimension_views.html">Data dimension</a></li>
						<li><a title="Process" href="process_views.html">Process</a></li>
						<li><a title="Security" href="security_views.html">Security</a></li>
						<li><a title="Monitoring" href="monitoring_views.html">Monitoring</a></li>
						<li><a title="InnoDB Plugin" href="innodb_plugin_views.html">InnoDB Plugin</a></li>
						<li><a title="Percona server" href="percona_server_views.html">Percona Server</a></li>
						<li><a title="TokuDB" href="tokudb_views.html">TokuDB</a></li>
					</ul>						
					<h3>DATA</h3>
					<ul>
						<li><a title="tables" href="tables.html">Tables</a></li>
						<li><a title="variables" href="variables.html">Variables</a></li>
					</ul>						
					<h3>META</h3>
					<ul>
						<li><a title="Help" href="help.html">help</a></li>
						<li><a title="Metadata" href="metadata.html">metadata</a></li>
						<li><a title="status" href="status.html">status</a></li>
					</ul>						
				</div>
			</div>	
			<div class="clear">&nbsp;</div>
			
			<div id="footnote" align="center">
				<a href="">common_schema</a> documentation
			</div>
		</div>
	</div>
</body>
</html>
